package com.ruoyi.datastatistics.domain.recvdata;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 接收第三方推送数据实体类
 *
 * @author TsingYu
 * @version 1.0
 * @date 2025/2/18 14:57
 */
@Data
public class RecvData {
    /**
     * 设备编号
     */
    @NotBlank(message = "设备编号为必须项")
    private String deviceNumber;
    /**
     * 设备厂家
     */
    private String manufacturer;
    /**
     * 客户id（对应集抄tenantId）
     */
    private String clientId;
    /**
     * 设备类型，1：大表，2：户表
     */
    @NotNull(message = "设备类型")
    private Integer deviceType;
    /**
     * 接收数据
     */
    private List<DataEntity> datas;


    @Data
    public static class DataEntity {
        /**
         * 数据时间
         */
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date dataTime;
        /**
         * 数据值
         */
        private List<Value> values;
    }

    @Data
    public static class Value {
        /**
         * 通道代号
         */
        private String channelCode;
        /**
         * 数值
         */
        private BigDecimal dataValue;
    }
}
